One of the main applications of an online homework grading system such as, for example, WebAssign (Advanced Instructional Systems, Inc.; Raleigh, N.C.) is to grade so-called “free response” questions. Take, for example, the following exercise and corresponding answer key.
Exercise:
Find the indefinite integral.
  ∫            -              1        x              ⁢          dx      .      
Answer Key:−ln(x)+C. 
In order to deliver and grade this question with an online system, the software must be able to accept many different variations on the answer key. For instance, if a student wrote his or her response as
            ln      ⁢              1        x              +    C    ,he or she should still be awarded credit. After all, the student has only applied the laws of logarithms to rewrite the expression in a mathematically valid way. Notice also that the student has not used parentheses to explicitly delimit the argument to the natural log function. If the student wanted to use parentheses, such as
            ln      ⁡              (                  1          x                )              +    C    ,his or her answer should still be accepted. In general, there will be infinitely many ways to write equivalent forms of the required expression, and the homework system cannot predict what form the student's answer will take.
One traditional workaround for this problem is to force students to enter their answers in a specific form: Unfortunately, this introduces many new problems. Foremost, restricting responses to a specific form destroys the “free response” aspect of the question that is so important pedagogically. Also, a homework system that accepts only specific forms of a response may cause usability issues. Worse yet, this restriction may mislead students into believing their equivalent response is mathematically incorrect.
Taking the idea of equivalent and correct responses even further, it is possible that responses like
      ln    ⁢          1      x        +      2    ⁢    C  should be accepted as well. After all, this answer is no less general than the one shown in the answer key, since C is assumed to be any arbitrary real number. If answers like these are to be accepted, then
      ln    ⁢          1      x        +      ln    ⁢                  ⁢    C  should also be accepted, since any real number can be written as ln C for some number C. Therefore, even answers like
  ln  ⁢      C    x  should be accepted for the original answer key of−ln(x)+C. 
In situations like this, the student's response should be considered correct if and only if it satisfies some specific mathematical conditions. The original answer key is merely one example of many correct answers. Questions requiring this sort of grading occur frequently in all areas of mathematics instruction.
A similar problem arises when numerical approximations are allowed. Take, for example, the following question and answer.
Exercise:
Use a graphing utility to approximate a sinusoidal function with period 4 which has a peak at (1, 3.7), and a valley at (3, 1.7).
Answer Key:
(See FIG. 1)
      sin    ⁡          (                        π          2                ⁢        x            )        +      2.7    .  
Students who use a calculator to approach this problem may obtain answers like
      sin    ⁢                  3.14        ⁢        x            2        +  2.69
or even2.7+sin 1.57x. 
Exercises involving long numerical calculations are common, especially in academic disciplines such as physics. The ability to accept expressions that are approximately right is crucial for an online homework system.
It would be desirable to develop systems and methods that overcome challenges present in the art, some of which are described above, including providing a general framework for effectively delivering and automatically grading these types of “open-ended” questions.